package main

import (
	"fmt"
	"net"
)

/*
UDP协议之客户端
*/
func main() {

	conn, err := net.DialUDP("udp", nil, &net.UDPAddr{
		IP:   net.IPv4(0, 0, 0, 0),
		Port: 30000,
	})
	if err != nil {
		fmt.Println("连接服务端失败，err:", err)
		return
	}
	defer conn.Close()
	sendData := []byte("我是客户端")
	// 发送数据
	_, err = conn.Write(sendData)
	if err != nil {
		fmt.Println("发送数据失败，err:", err)
		return
	}
	data := make([]byte, 4096)
	// 接收数据
	n, remoteAddr, err := conn.ReadFromUDP(data)
	if err != nil {
		fmt.Println("接收数据失败，err:", err)
		return
	}
	fmt.Printf("recv:%v addr:%v count:%v\n", string(data[:n]), remoteAddr, n)
}
